#include "separation.h"
#include <iostream>

using namespace std;

void function_1(int x)
{
    cout << "function_1(int x)" << endl;
}

//编译的时候不进行处理,没有实例化,也没办法编译生成汇编代码
//template<class T>
//void function_2(const T& x)
//{
//    cout << "function_2(const T& x)" << endl;
//}
//
//template<>
//void function_2<double>(const double& x)
//{
//    cout << "function_2(const double& x)" << endl;
//}
//
////如果自己显示实例化,就可以解决
////但是用一个类型,就要实例化一个,非常麻烦
//template
//void function_2<int>(const int& x);
//
//template 
//void function_2<double>(const double& x);

//类模板定义
//template<class T>
//A<T>::A()
//    :_a(0)
//{
//    cout << "class A<int>" << endl;
//}

//类模板显式实例化
//template 
//class A<int>;
//
////函数显示实例化
//template 
//A<double>::A();



